import java.util.Arrays;

/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: syyyy
 * Date: 2025-07-27
 * Time: 16:37
 */
public class Test2 {
    public static void merge(int[] nums1,int m,int[] nums2,int n){
        int k=nums1.length-1;
        int i=m-1;
        int j=n-1;
        while(i>=0&&j>=0){
            if(nums1[i]>nums2[j]){
                nums1[k]=nums1[i];
                i--;
                k--;
            }
            else if(nums2[j]>nums1[i]){//这里都要写else if,前面出现了数组越界的情况时，就看此时的nums1和nums2，如果我用if，走完了第二个if之后j变成-1，如果写elseif的话这次循环就直接结束，如果写if的话就会进入下个if的判断，此时j=-1就会被检测
                nums1[k]=nums2[j];
                j--;
                k--;
            }
            else if(nums1[i]==nums2[j]){
                nums1[k]=nums2[j];
                j--;
                k--;
            }
        }
        while(j>0){
            nums1[k+1]=nums2[j];
            j--;
            k--;
        }
    }
    public static void main(String[] args) {
        int[] nums1={0};
        int[] nums2={1};
        merge(nums1,0,nums2,1);
        System.out.println(Arrays.toString(nums1));
    }
}
